Methods, systems, and media for authenticating a connection between a user device and a streaming media content device

ABSTRACT

Mechanisms for authenticating a connection between a user device and a streaming media content device comprising: identifying a collection of candidate streaming media content devices based on beacon(s) detected by a user device; receiving an indication that one of the content devices is to be selected for connection to the user device; transmitting instructions to the content devices to broadcast a signal, wherein the signal broadcast by each of the content devices contains a value that indicates an identity of the content device; receiving, from the user device, an audio signal that includes a detected signal; processing the audio signal to extract the value indicating the identity of a particular content device associated with the detected signal contained in the received audio signal; identifying the particular content device based on the determined value; and transmitting an indication that the user device and the particular content device are authenticated to communicate.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication No. 62/016,470, filed Jun. 24, 2014, which is herebyincorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forauthenticating a connection between a user device and a streaming mediacontent device.

BACKGROUND

Many users want to stream media content (such as music, videos, movies,television programs, etc.) from a mobile device to a larger display,such as a television. In some instances, users stream the media contentfrom the mobile device to the larger display by connecting to astreaming media content device, which can cause the media content to bepresented on the larger display. Users may want nearby streaming mediacontent devices to be automatically identified and connected to theirmobile devices. However, it can be difficult to determine whichstreaming media content devices are suitable for connection to a user'smobile device before automatically connecting the mobile device and thestreaming media content device. For example, a streaming media contentdevice that belongs to a neighbor may be automatically detected, butshould not automatically be connected to the user's mobile device.

Accordingly, it is desirable to provide new methods, systems, and mediafor authenticating a connection between a user device and a streamingmedia content device.

SUMMARY

Methods, systems, and media for authenticating a connection between auser device and a streaming media content device are provided. Inaccordance with some implementations of the disclosed subject matter,methods for authenticating a connection between a user device and astreaming media content device are provided, the methods comprising:identifying, using a hardware processor, a collection of candidatestreaming media content devices based on one or more beacons detected bya user device; receiving an indication that one of the candidatestreaming media content devices is to be selected for connection to theuser device; transmitting instructions to the candidate streaming mediacontent devices to broadcast a signal, wherein the signal broadcast byeach of the candidate streaming media content devices contains a valuethat indicates an identity of the streaming media content device;receiving, from the user device, an audio signal that includes adetected signal; processing the audio signal to extract the valueindicating the identity of a particular streaming media content deviceassociated with the detected signal contained in the received audiosignal; identifying the particular streaming media content device basedon the determined value; and transmitting an indication that the userdevice and the particular streaming media content device areauthenticated to communicate with each other.

In accordance with some implementations of the disclosed subject matter,systems for authenticating a connection between a user device and astreaming media content device are provided, the systems comprising: atleast one hardware processor that: identifies a collection of candidatestreaming media content devices based on one or more beacons detected bya user device; receives an indication that one of the candidatestreaming media content devices is to be selected for connection to theuser device; transmits instructions to the candidate streaming mediacontent devices to broadcast a signal, wherein the signal broadcast byeach of the candidate streaming media content devices contains a valuethat indicates an identity of the streaming media content device;receives, from the user device, an audio signal that includes a detectedsignal; processes the audio signal to extract the value indicating theidentity of a particular streaming media content device associated withthe detected signal contained in the received audio signal; identifiesthe particular streaming media content device based on the determinedvalue; and transmits an indication that the user device and theparticular streaming media content device are authenticated tocommunicate with each other.

In accordance with some implementations of the disclosed subject matter,non-transitory computer-readable medium containing computer-executableinstructions that, when executed by a processor, cause the processor toperform a method of authenticating a connection between a user deviceand a streaming media content device are provided, the methodcomprising: identifying a collection of candidate streaming mediacontent devices based on one or more beacons detected by a user device;receiving an indication that one of the candidate streaming mediacontent devices is to be selected for connection to the user device;transmitting instructions to the candidate streaming media contentdevices to broadcast a signal, wherein the signal broadcast by each ofthe candidate streaming media content devices contains a value thatindicates an identity of the streaming media content device; receiving,from the user device, an audio signal that includes a detected signal;processing the audio signal to extract the value indicating the identityof a particular streaming media content device associated with thedetected signal contained in the received audio signal; identifying theparticular streaming media content device based on the determined value;and transmitting an indication that the user device and the particularstreaming media content device are authenticated to communicate witheach other.

In accordance with some implementations of the disclosed subject matter,systems for authenticating a connection between a user device and astreaming media content device are provided, the systems comprising:means for identifying a collection of candidate streaming media contentdevices based on one or more beacons detected by a user device; meansfor receiving an indication that one of the candidate streaming mediacontent devices is to be selected for connection to the user device;means for transmitting instructions to the candidate streaming mediacontent devices to broadcast a signal, wherein the signal broadcast byeach of the candidate streaming media content devices contains a valuethat indicates an identity of the streaming media content device; meansfor receiving, from the user device, an audio signal that includes adetected signal; means for processing the audio signal to extract thevalue indicating the identity of a particular streaming media contentdevice associated with the detected signal contained in the receivedaudio signal; means identifying the particular streaming media contentdevice based on the determined value; and means for transmitting anindication that the user device and the particular streaming mediacontent device are authenticated to communicate with each other. In someembodiments, the means for identifying the collection of candidatestreaming media content devices compares identification numbers includedin the one or more beacons with a list that associates identificationnumbers with known streaming media content devices. In some embodiments,the systems further comprise means for filtering the collection ofcandidate streaming media content devices based on applicationssupported by each of the collection of candidate streaming media contentdevices. In some embodiments, the systems further comprise means forfiltering the collection of candidate streaming media content devicesbased on applications that connect to particular streaming media contentsites. In some embodiments, the systems further comprise means forfiltering the collection of candidate streaming media content devicesbased on applications that support mirroring of content between themobile device and the streaming media content device. In someembodiments, the signal broadcast by each of the candidate streamingmedia content devices is an audio signal. In some embodiments, the meansfor identifying the particular streaming media content device based onthe determined value identifies one or more frequencies associated witha PIN embedded in the audio signal. In some embodiments, the systemsfurther comprise means for determines if the value was extracted fromthe audio signal by the processing; and means for receiving a manualentry of the value when the value was not extracted.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIGS. 1A and 1B show examples of user interfaces for indicating thatstreaming media content devices have been detected in accordance withsome implementations of the disclosed subject matter.

FIG. 1C shows an example of a user interface for indicating that anultrasonic signal is being detected to authenticate a streaming mediacontent device in accordance with some implementations of the disclosedsubject matter.

FIG. 1D shows an example of a user interface for indicating that aconnection between a user device and a streaming media content devicehas been established in accordance with some implementations of thedisclosed subject matter.

FIG. 1E shows an example of a user interface for authenticating aconnection between a mobile device and a streaming media content deviceusing a personal identification number (PIN) entered in the userinterface in accordance with some implementations of the disclosedsubject matter.

FIG. 2 shows a schematic diagram of an illustrative system suitable forimplementation of mechanisms described herein for authenticating aconnection using an ultrasonic signal in accordance with someimplementations of the disclosed subject matter.

FIG. 3 shows a detailed example of hardware that can be used in a serverand/or a user device of FIG. 2 in accordance with some implementationsof the disclosed subject matter.

FIG. 4 shows an example of a process for identifying nearby streamingmedia content devices and authenticating a connection between a mobiledevice and a streaming media content device in accordance with someimplementations of the disclosed subject matter.

DETAILED DESCRIPTION

In accordance with various implementations, mechanisms (which caninclude methods, systems, and media) for authenticating a connectionbetween a user device and a streaming media content device are provided.

In some implementations, the mechanisms described herein can beimplemented on a device detection server, a mobile device, and one ormore streaming media content devices.

In some implementations, the streaming media content devices cantransmit signals that include an identifying beacon, which can bedetected by a nearby mobile device (e.g., a mobile phone, a tabletcomputer, a laptop computer, and/or any other suitable mobile device).An indication of the detected beacons can be transmitted from the mobiledevice to the device detection server. In some implementations, thedevice detection server can identify a collection of detected streamingmedia content devices based on the received indications of the detectedbeacons. Based on the identification of the streaming media contentdevices, the device detection server can then transmit a message to themobile device that indicates that one or more candidate streaming mediacontent devices have been detected. In some implementations, the mobiledevice can cause an icon indicating the detected streaming media contentdevices to be presented.

In response to determining that a user wants to connect a mobile deviceto one of the detected streaming media content devices (e.g., bydetermining that the icon has been selected on the mobile device), thedevice detection server can transmit instructions to the one or morecandidate streaming media content devices that cause the streaming mediacontent devices to each broadcast a signal (e.g., an ultrasonic signal,an audible audio signal, an optical signal, and/or any other suitablesignal) that contains a personal identification number (PIN) specific tothe corresponding streaming media content device. The mobile device canthen detect the broadcasted signal. In some implementations, the mobiledevice can extract the PIN from the detected signal and can transmit thePIN to the device detection server to identify a particular streamingmedia content device that is nearby to the mobile device (e.g., withinthe same room and/or within a particular distance). Additionally oralternatively, in some implementations, the mobile device can transmitthe detected signal to the device detection server, which can extractthe PIN to identify the particular streaming media content device. Insome implementations, in response to identifying the particular nearbystreaming media content device, the device detection server can transmitinformation regarding a relay endpoint through which the mobile deviceand the identified streaming media content device can establish anauthenticated connection.

In some implementations, a streaming media content device can be adevice which can receive communications from a mobile device through acommunications network (e.g., a WiFi network, a BLUETOOTH network, a 3Gnetwork, a 4G/LTE network, the Internet, and/or any other suitablecommunications network) and can cause media content to be presented on acorresponding media playback device in response to the receivedcommunications. In some implementations, a streaming media contentdevice can be connected to a media playback device (e.g., a television,a projector, a stereo, a monitor, and/or any other suitable mediaplayback device). For example, in some implementations, a streamingmedia content device can be connected to a media playback device througha High-Definition Multi-Media Interface (HDMI) port on the mediaplayback device. In some implementations, a streaming media contentdevice can cause any suitable media content to be presented (e.g., audiocontent, video content, images, and/or any other suitable content) usingany suitable protocols (e.g., adaptive bitrate streaming, HTTP livestreaming, and/or any other suitable protocols).

In some implementations, a streaming media content device can beintegrated within any suitable media playback device. Additionally oralternatively, in some implementations, actions performed by a streamingmedia content device, such as broadcasting an ultrasonic signal, and/orany other suitable actions, can be performed instead by a media playbackdevice, and, in some such implementations, the streaming media contentdevice can be omitted.

FIGS. 1A-1D show examples of user interfaces for indicating that nearbystreaming media content devices have been detected (FIGS. 1A and 1B),indicating that a mobile device presenting the user interface isattempting to detect an ultrasonic audio signal to authenticate aconnection between a mobile device and a streaming media content device(FIG. 1C), and indicating that a connection has been established betweenthe mobile device and the streaming media content device (FIG. 1D). Insome implementations, the user interfaces shown in FIGS. 1A-1D can bepresented on any suitable mobile device, such as a mobile phone, atablet computer, a wearable computer, a laptop computer, and/or anyother suitable mobile device.

Turning to FIGS. 1A and 1B, examples 100 and 120 of user interfaces forpresenting indications that streaming media content devices have beendetected are shown in accordance with some implementations of thedisclosed subject matter.

In some implementations, user interface 100 can include deviceinformation 102, detected devices icon 104, and media playback 106.

In some implementations, device information 102 can include any suitableinformation about a user device on which user interface 100 is beingpresented. For example, as shown in FIG. 1A, device information 102 caninclude an indication of a current time. In some implementations, anyother suitable information, such as a date, an indication of an amountof remaining battery life, an indication of available networkconnections, an indication of available messages, and/or any othersuitable information can be included in device information 102. In someimplementations, device information 102 can include any suitable text,images, graphics, icons, animations, and/or any other suitable content.

In some implementations, detected devices icon 104 can indicate thatstreaming media content devices have been detected, for example, withina WiFi network in a building and/or in a user's home. Detected devicesicon 104 can include any suitable images, graphics, text, icons,animations, and/or any other suitable content. For example, in someimplementations, detected devices icon 104 can include an indication ofa number (e.g., one, two, four, and/or any other suitable number) ofdetected streaming media content devices.

In some implementations, media playback 106 can include playback of anysuitable media content. For example, in some implementations the mediacontent can include video content, audio content, audiobooks, streamingmedia content (e.g., streaming television programs, radio programs,and/or any other suitable content). In some implementations, mediaplayback 106 can be omitted.

In some implementations, detected devices icon 104 can be selectable. Insome implementations, selection of detected devices icon 104 can causeuser interface 120 to be presented. Alternatively, in someimplementations, user interface 120 can be presented automatically inresponse to a determination that streaming media content devices havebeen detected. In some implementations, user interface 120 can include amessage window 122, a detected device icon 124, and/or a detected devicemessage 126.

In some implementations, message window 122 can be any message windowsuitable for presenting a message that streaming media content deviceshave been detected. For example, as shown in FIG. 1B, message window 122can be a pop-up window that is overlaid on media playback 106. In someimplementations, message window 122 can be omitted.

In some implementations, detected device icon 124 and/or detected devicemessage 126 can be presented within message window 122. In someimplementations, detected device icon 124 can be the same as detecteddevice icon 104. In some implementations, detected device icon 124 canbe omitted. Detected device message 126 can include any suitablemessage. For example, in some implementations, detected device message126 can include an indication of a number of detected streaming mediacontent devices. In some implementations, detected device icon 124and/or detected device message 126 can be omitted.

In some implementations, message window 122 and/or detected devicemessage 126 can dismissed through any suitable user interaction (e.g.,clicking on message window 122 and/or message 126, swiping messagewindow 122 off the screen, and/or any other suitable interaction).

In some implementations, a connection between a mobile device (e.g., themobile device presenting the user interfaces of FIGS. 1A-1D) and astreaming media content device can be authenticated based on a PINcontained in an ultrasonic signal transmitted by the streaming mediacontent device and received by the mobile device. FIG. 1C shows anexample 140 of a user interface that can be presented by the mobiledevice that can indicate that the mobile device is detecting theultrasonic signal in accordance with some implementations of thedisclosed subject matter. In some implementations, user interface 140can include a message window 142 and a listening for audio message 144.

In some implementations, message window 142 can be any suitable messagewindow for presenting a message that the mobile device is attempting todetect audio content. For example, as shown in FIG. 1C, message window142 can be a pop-up window that is overlaid on media playback 106. Insome implementations, message window 142 can be omitted.

In some implementations, listening for audio message 144 can include anysuitable text, icons, images, graphics, and/or any other suitablecontent for indicating that the mobile device is currently attempting todetect audio content. For example, in some implementations, listeningfor message 144 can include an icon (not shown) depicting a microphone,indicating that a microphone associated with the mobile device is beingused for detecting the audio content. In some implementations, listeningfor audio message 144 can be omitted.

FIG. 1D shows an example 160 of a user interface that can be presentedto indicate that a connection has been established between a mobiledevice and a streaming media content device in accordance with someimplementations of the disclosed subject matter. As shown, userinterface 160 can include a connection message 164 that can include anysuitable text, images, graphics, icons, and/or any other suitablecontent for indicating the connection. In some implementations,connection message 164 can include any suitable identifiers of theparticular streaming media content device to which the mobile device isconnected, for example, a name associated with the particular streamingmedia content device, as shown in FIG. 1D.

In some implementations, authentication of the connection between amobile device and a streaming media content device may not be possiblethrough an ultrasonic signal. In some such implementations, theconnection can be authenticated through manual input of a PIN associatedwith the streaming media content device, as shown in user interface 180of FIG. 1E. As shown, user interface 180 can include a message window182, an enter PIN message 184, and a PIN input 186.

Message window 182 can be any message window suitable for indicatingthat automatic authentication was not possible. For example, in someimplementations, enter PIN message 184 can be presented within messagewindow 182. In some implementations, message window 182 can be a pop-upmessage, as shown in FIG. 1E. In some implementations, any suitabletext, images, icons, graphics, and/or any other suitable content can beincluded in message window 182 and/or enter PIN message 184.

PIN input 186 can be any suitable input mechanism for allowing a user toenter a PIN associated with a streaming media content device to whichthe mobile device is to be connected. In some implementations, PIN input186 can allow any suitable characters (e.g., numbers, letters,non-alphanumeric characters, and/or any other suitable characters) to beentered. Although not shown in FIG. 1E, in some implementations, PINinput 186 can include presentation of a keyboard suitable for entering aPIN. Although six inputs are included in PIN input 186, in someimplementations, any suitable number (e.g., one, two, five, ten, and/orany other suitable number) of inputs can be included.

Note that, in instances where authentication via an ultrasonic signal isnot possible, a connection between a mobile device and a streaming mediacontent device can be authenticated using any other suitable techniqueor combination of techniques. For example, in some implementations, aPIN can be embedded in an optical signal (e.g., through any suitablemodulation techniques) that is presented on a media playback deviceconnected to a streaming media content device. The optical signal canthen be detected by the mobile device (e.g., using a camera associatedwith the mobile device), and the optical signal and/or the extracted PINcan be transmitted to a device detection server to authenticate theconnection. As another example, in some implementations, a barcode canbe presented on a media playback device connected to a streaming mediacontent device. The barcode can be detected by the mobile device (e.g.,using a camera associated with the mobile device), and the detectedbarcode can be transmitted to the device detection server toauthenticate the connection.

Turning to FIG. 2, an example 200 of hardware for authenticating aconnection using an ultrasonic signal that can be used in accordancewith some implementations of the disclosed subject matter is shown. Asillustrated, hardware 200 can include a device detection server 202, acommunication network 204, a router 206, a mobile device 208, a mediaplayback device 210, and a streaming media content device 212.

Device detection server 202 can be any suitable server for identifyingstreaming media content devices and/or performing any suitable functionsfor allowing a mobile device and a streaming media content device toconnect. For example, in some implementations, device detection server202 can identify a collection of candidate streaming media contentdevices. As another example, in some implementations, device detectionserver 202 can transmit instructions to the collection of candidatestreaming media content devices to broadcast an ultrasonic signal. Asyet another example, in some implementations, device detection server202 can authenticate a connection between a particular streaming mediacontent device and a mobile device based on a PIN received from a mobiledevice and/or based on an audio signal containing a PIN received fromthe mobile device, as described below in connection with FIG. 4. Asstill another example, in some implementations, device detection server202 can transmit information related to a relay endpoint through which amobile device and a streaming media content device can establish aconnection, as described below in connection with FIG. 4.

Although device detection server 202 is illustrated as one device, thefunctions performed by device detection server 202 can be performedusing any suitable number of devices in some implementations. Forexample, in some implementations, multiple devices can be used toimplement the functions performed by device detection server 202.

Communication network 204 can be any suitable combination of one or morewired and/or wireless networks in some implementations. For example,communication network 210 can include any one or more of the Internet,an intranet, a wide-area network (WAN), a local-area network (LAN), awireless network, a digital subscriber line (DSL) network, a frame relaynetwork, an asynchronous transfer mode (ATM) network, a virtual privatenetwork (VPN), and/or any other suitable communication network. Router206, mobile device 208, and/or streaming media content device 212 can beconnected by one or more communications links to communication network204 that can be linked via one or more communications links to devicedetection server 202. The communications links can be any communicationslinks suitable for communicating data among router 206, mobile device208, streaming media content device 212 and device detection server 202such as network links, dial-up links, wireless links, hard-wired links,any other suitable communications links, or any suitable combination ofsuch links.

Router 206 can be any suitable device that connects user devices tocommunication network 204. For example, in some implementations, router206 can be a cable router, a digital subscriber line (DSL) router,and/or any other suitable type of router. Although only one router isshown in FIG. 2, in some implementations, any suitable number of routerscan be included.

Mobile device 208 can include one or more mobile devices suitable forconnecting to a streaming media content device. For example, in someimplementations, mobile device 208 can be a mobile phone, a tabletcomputer, a wearable computer, a laptop computer, a vehicle (e.g., acar, a boat, an airplane, or any other suitable vehicle) entertainmentsystem, and/or any other suitable mobile device, that can be used tocause a media content item to be presented on media playback device 210.Although only one mobile device is shown in FIG. 2, in someimplementations, any suitable number of mobile devices can be included.

Media playback device 210 can be any suitable user device for presentingmedia content (e.g., video content, audio content, images, slideshows,and/or any other suitable type of content). For example, in someimplementations, media playback device 210 can be a television, astereo, a projector, a monitor, a game console, a desktop computer,and/or any other suitable device for presenting media content.

Streaming media content device 212 can be any suitable device forreceiving an indication of media content to be presented from mobiledevice 208 and causing the indicated media content to be presented onmedia playback device 210. As described above, in some implementations,streaming media content device 212 can be connected to media playbackdevice 210 through an HDMI port on media playback device 210. In someimplementations, streaming media content device 212 can transmit beaconsindicating an identity associated with streaming media content device212. Additionally, in some implementations, streaming media contentdevice 212 can broadcast a signal containing a PIN associated withstreaming media content device 212 in response to receiving instructionsfrom device detection server 202, as described below in connection withFIG. 4.

Device detection server 202, router 206, mobile device 208, mediaplayback device 210, and streaming media content device 212 can beimplemented using any suitable hardware in some implementations. Forexample, in some implementations, devices 202, 206, 208, and 212 can beimplemented using any suitable general purpose computer or specialpurpose computer. For example, a mobile phone may be implemented using aspecial purpose computer. Any such general purpose computer or specialpurpose computer can include any suitable hardware. For example, asillustrated in example hardware 300 of FIG. 3, such hardware can includehardware processor 302, memory and/or storage 304, an input devicecontroller 306, an input device 308, display/audio drivers 310, displayand audio output circuitry 312, communication interface(s) 314, anantenna 316, and a bus 318.

Hardware processor 302 can include any suitable hardware processor, suchas a microprocessor, a micro-controller, digital signal processor(s),dedicated logic, and/or any other suitable circuitry for controlling thefunctioning of a general purpose computer or a special purpose computerin some implementations.

In some implementations, for example, when hardware 300 is used toimplement device detection server 202, hardware processor 302 can becontrolled by a server program stored in memory and/or storage 304 ofthe server. As another example, in some implementations, a serverprogram can cause hardware processor 302 to identify a particularstreaming media content device based on a PIN and/or a signal containinga PIN received from mobile device 206, as described below in connectionwith FIG. 4.

In some implementations, for example, when hardware 300 is used toimplement mobile device 208, hardware processor 302 can be controlled bya computer program stored in memory and/or storage 304 of the mobiledevice. For example, the computer program can cause hardware processor302 to present an icon indicating that streaming media content deviceshave been detected, detect an audio signal, and/or perform any othersuitable actions.

In some implementations, for example, when hardware 300 is used toimplement streaming media content device 212, hardware processor 302 canbe controlled by a computer program stored in memory and/or storage 304of the streaming media content device. For example, the computer programcan cause hardware processor 302 to broadcast an ultrasonic signal thatcontains a PIN associated with the streaming media content device.

Memory and/or storage 304 can be any suitable memory and/or storage forstoring programs, data, media content, and/or any other suitableinformation in some implementations. For example, memory and/or storage304 can include random access memory, read-only memory, flash memory,hard disk storage, optical media, and/or any other suitable memory.

Input device controller 306 can be any suitable circuitry forcontrolling and receiving input from one or more input devices 308 insome implementations. For example, input device controller 306 can becircuitry for receiving input from a touchscreen, from a keyboard, froma mouse, from one or more buttons, from a voice recognition circuit,from a microphone, from a camera, from an optical sensor, from anaccelerometer, from a temperature sensor, from a near field sensor,and/or any other type of input device. As a more particular example, insome implementations, input device controller 306 can cause an audiosignal to be recorded using a microphone, as described below inconnection with FIG. 4.

Display/audio drivers 310 can be any suitable circuitry for controllingand driving output to one or more display/audio output devices 312 insome implementations. For example, display/audio drivers 310 can becircuitry for driving a touchscreen, a flat-panel display, a cathode raytube display, a projector, a speaker or speakers, and/or any othersuitable display and/or presentation devices.

Communication interface(s) 314 can be any suitable circuitry forinterfacing with one or more communication networks, such as network 204as shown in FIG. 2. For example, interface(s) 314 can include networkinterface card circuitry, wireless communication circuitry, and/or anyother suitable type of communication network circuitry.

Antenna 316 can be any suitable one or more antennas for wirelesslycommunicating with a communication network (e.g., communication network204) in some implementations. In some implementations, antenna 316 canbe omitted.

Bus 318 can be any suitable mechanism for communicating between two ormore components 302, 304, 306, 310, and 314 in some implementations.

Any other suitable components can be included in hardware 300 inaccordance with some implementations.

Turning to FIG. 4, an example 400 of a process for identifying candidatestreaming media content devices and authenticating a connection betweena mobile device and a particular streaming media content device is shownin accordance with some implementations of the disclosed subject matter.Note that the blocks of process 400 are shown as being performed bymobile device 208, device detection server 202, and streaming mediacontent device 212.

At 402, the streaming media content device can transmit a beacon thatincludes an identification indicating an identity of the streaming mediacontent device. In some implementations, the identification can includeany suitable information, such as a number identifying the streamingmedia content device, a name associated with the streaming media contentdevice, a location of the streaming media content device, and/or anyother suitable information. In some implementations, the beacon caninclude a basic service set identification (BSSID) and/or a service setidentification (SSID) number. For example, in some implementations, theBSSID can indicate a manufacturer of the streaming media content device.In some implementations, the beacon can be associated with any suitableprotocol and/or standard (e.g., IEEE 802.11, and/or any other suitablestandard). The streaming media content device can transmit beacons atany suitable frequency (e.g., every minute, every ten minutes, everyhour, and/or any other suitable frequency).

At 404, the mobile device can detect one or more beacons transmitted byone or more streaming media content devices using any suitable techniqueor combination of techniques. For example, in some implementations, themobile device can detect the one or more beacons by listening for radiosignals from the streaming media content device(s). Any suitable number(e.g., one, two, four, ten, and/or any other suitable number) of beaconscorresponding to any suitable number of streaming media content devicescan be detected. Additionally, note that the beacons detected by themobile device can correspond to streaming media content devices at anysuitable location and/or distance from the mobile device. For example,in some implementations, the detected beacons can correspond tostreaming media content devices located in the same room as the mobiledevice, a different room within the user's home, a neighbor's apartment,and/or located at any other suitable location.

At 406, the mobile device can transmit indications of the detectedbeacons to device detection server 202 via communication network 204.

Device detection server 202 can create a list indicating candidatestreaming media content devices at 408 using the indications of thedetected beacons received from the mobile device. In someimplementations, device detection server 202 can create the list ofcandidate streaming media content devices by comparing the set ofdetected beacons received from the mobile device with information aboutthe streaming media content devices. For example, in someimplementations, device detection server 202 can identify the candidatestreaming media content devices by comparing identification numbersincluded in the received beacons with a list that associatesidentification numbers with known streaming media content devices. Insome implementations, device detection server 202 can filter theidentified candidate streaming media content devices based onapplications supported by each of the candidate streaming media contentdevices. In some implementations, the applications can includeapplications that connect to particular streaming media content sites,applications that support mirroring of content between the mobile deviceand the streaming media content device, and/or any other suitableapplications.

Device detection server 202 can transmit an indication that candidatestreaming media content devices are available to the mobile device at410. In some implementations, the indication can be a Boolean valueindicating whether or not at least one streaming media content device isavailable. Alternatively, in some implementations, the indication canadditionally include an indication of the number of available candidatestreaming media content devices.

The mobile device can cause an icon (e.g., as shown in FIG. 1A) and/or amessage (e.g., as shown in FIG. 1B) indicating that one or morestreaming media content devices are available to be presented at 412. Insome implementations, the icon and/or the message can be presented for aperiod of time (e.g., five seconds, ten seconds, one minute, fiveminutes, and/or any other suitable period of time) and can automaticallydisappear after the period of time has elapsed. Alternatively, in someimplementations, the icon and/or the message can be presented untildismissed by a user (e.g., by clicking and/or swiping the icon and/orthe message).

The mobile device can determine that the icon and/or the message havebeen selected and can then transmit an indication of the selection ofthe icon and/or the message to device detection server 202 at 414.

In response to receiving a message indicating that the icon and/or themessage has been selected on the mobile device, device detection server202 can transmit instructions to the candidate streaming media contentdevices at 416 instructing the candidate streaming media content devicesto each broadcast an audio signal (e.g., an ultrasonic signal, anaudible audio signal, and/or any other suitable audio signal).

The candidate streaming media content devices can each produce and/orbroadcast an ultrasonic signal at 418. In some implementations, theultrasonic signal can be of any suitable duration and can be within anysuitable ultrasonic frequency range. In some implementations, eachultrasonic signal can include a PIN specific to the streaming mediacontent device broadcasting the ultrasonic signal. The PIN can beembedded within the ultrasonic signal using any suitable technique orcombination of techniques. For example, in some implementations, eachcharacter of the PIN can correspond to a particular frequency, and theparticular frequencies can be combined using any suitable techniques tocreate the ultrasonic signal. For example, in some implementations, theparticular frequencies can be used to modulate (e.g., using amplitudemodulation, frequency modulation, and/or any other suitable type ofmodulation) an ultrasonic carrier wave. In some implementations, eachcharacter can correspond to multiple (e.g., two, three, and/or any othersuitable number) frequencies, and the multiple frequencies can besuperimposed in any suitable manner to represent each character. Notethat although the signal broadcast by the candidate streaming mediacontent devices has been described as within an ultrasonic frequencyrange, in some implementations, an audio signal within any suitablefrequency range can be used. Additionally or alternatively, in someimplementations, the frequency range of the broadcast signal can be setand/or modified, for example, within a settings user interface of a userdevice.

In some implementations, the PIN can be restricted to a particularnumber of characters (e.g., four, six, and/or any other suitablenumber). Additionally or alternatively, in some implementations, thecharacters of the PIN can be restricted to a particular set ofcharacters (e.g., digits 0-9, and/or any other suitable set). In someimplementations, the PIN can be set and/or modified, for example,through a user interface (not shown) on user device 206. Additionally oralternatively, in some implementations, the PIN can be randomly setand/or re-set at any suitable frequency (e.g., once per day, once perweek, once per month, and/or any other suitable frequency).

The mobile device can detect an audio signal that includes theultrasonic signal at 420 using any suitable technique or combination oftechniques. For example, in some implementations, hardware processor 302on the mobile device can cause input device controller 306 associatedwith a microphone of the mobile device to detect audio signals. Themobile device can then transmit the detected audio signal to devicedetection server 202. In some implementations, the detected audio signalcan be stored in memory 304 of the mobile device (e.g., in a buffer)before it is transmitted to device detection server 202. In someimplementations, the mobile device can perform any suitable signalprocessing prior to transmitting the detected audio signal (e.g,compression, filtering, and/or any other suitable processing), forexample, to reduce the size of the transmitted audio signal.

Device detection server 202 can identify the streaming media contentdevice associated with the ultrasonic signal contained in the receivedaudio signal at 422 using any suitable technique or combination oftechniques. For example, in some implementations, device detectionserver 202 can identify one or more frequencies associated with a PINembedded in the ultrasonic signal using any suitable signal processingtechniques. Note that in some implementations, the mobile device canperform any signal processing required to extract the PIN embedded inthe ultrasonic signal to identify the corresponding streaming mediacontent device and can transmit the extracted PIN to device detectionserver 202. In such implementations, block 422 can be omitted.

In some implementations, identification of a nearby streaming mediacontent device through an ultrasonic signal may not be possible, forexample, if a streaming media content device is not capable of producingultrasonic signals and/or if the mobile device is not capable ofdetecting audio signals in the frequency range corresponding to theultrasonic signals. In some such implementations, the PIN associatedwith the streaming media content device to which the mobile device is tobe connected can be manually entered on the mobile device, for example,as shown in and described above in connection with FIG. 1E, and theentered PIN can be transmitted from the mobile device to devicedetection server 202. Additionally or alternatively, in someimplementations, the PIN can be broadcast by the streaming media contentdevice using any other suitable signal (e.g., a barcode presented on amedia playback device connected to the streaming media content device,an optical signal presented on a media playback device connected to thestreaming media content device, and/or any other suitable signal), andthe mobile device can detect the signal and transmit the signal and/orthe extracted PIN.

If the received PIN corresponds to one of the candidate streaming mediacontent devices, device detection server 202 can transmit informationregarding a relay endpoint to the mobile device and the particularstreaming media content device that corresponds to the received PIN at424.

At 426 and 428, the mobile device and the streaming media contentdevice, respectively, can establish connections with each other usingthe relay endpoint indicated by device detection server 202.

After a connection has been established between the mobile device andthe streaming media content device, media content can be presented on amedia playback device connected to the streaming media content deviceusing any suitable information and any suitable technique(s). Forexample, in some implementations, an indication (e.g., a URL) of aparticular media content item can be transmitted from the mobile deviceto the streaming media content device, and the streaming media contentdevice can access the indicated media content item and begin presentingthe media content item on a connected media playback device. As anotherexample, in some implementations, the mobile device can transmit themedia content item to the streaming media content device, and thestreaming media content device can cause the received media content itemto be presented on a connected media playback device. In someimplementations, any suitable protocol can be used to transfer dataassociated with the media content item, such as adaptive bitratestreaming, HTTP live streaming, user datagram protocol (UDP), and/or anyother suitable protocol).

In some implementations, at least some of the above described blocks ofthe processes of FIG. 4 can be executed or performed in any order orsequence not limited to the order and sequence shown in and described inconnection with this figure. Also, some of the above blocks of FIG. 4can be executed or performed substantially simultaneously whereappropriate or in parallel to reduce latency and processing times.Additionally or alternatively, some of the above described blocks of theprocesses of FIG. 4 can be omitted.

In some implementations, any suitable computer readable media can beused for storing instructions for performing the functions and/orprocesses herein. For example, in some implementations, computerreadable media can be transitory or non-transitory. For example,non-transitory computer readable media can include media such asmagnetic media (such as hard disks, floppy disks, and/or any othersuitable magnetic media), optical media (such as compact discs, digitalvideo discs, Blu-ray discs, and/or any other suitable optical media),semiconductor media (such as flash memory, electrically programmableread-only memory (EPROM), electrically erasable programmable read-onlymemory (EEPROM), and/or any other suitable semiconductor media), anysuitable media that is not fleeting or devoid of any semblance ofpermanence during transmission, and/or any suitable tangible media. Asanother example, transitory computer readable media can include signalson networks, in wires, conductors, optical fibers, circuits, anysuitable media that is fleeting and devoid of any semblance ofpermanence during transmission, and/or any suitable intangible media.

In situations in which the systems described herein collect personalinformation about users, or make use of personal information, the usersmay be provided with an opportunity to control whether programs orfeatures collect user information (e.g., information about a user'ssocial network, social actions or activities, profession, a user'spreferences, or a user's current location). In addition, certain datamay be treated in one or more ways before it is stored or used, so thatpersonal information is removed. For example, a user's identity may betreated so that no personally identifiable information can be determinedfor the user, or a user's geographic location may be generalized wherelocation information is obtained (such as to a city, ZIP code, or statelevel), so that a particular location of a user cannot be determined.Thus, the user may have control over how information is collected aboutthe user and used by a content server.

Accordingly, methods, systems, and media for authenticating a connectionbetween a user device and a streaming media content device are provided.

Although the invention has been described and illustrated in theforegoing illustrative implementations, it is understood that thepresent disclosure has been made only by way of example, and thatnumerous changes in the details of implementation of the invention canbe made without departing from the spirit and scope of the invention,which is limited only by the claims that follow. Features of thedisclosed implementations can be combined and rearranged in variousways.

What is claimed is:
 1. A method for authenticating a connection betweena user device and a streaming media content device, comprising:identifying, using a hardware processor, a collection of candidatestreaming media content devices based on one or more beacons detected bya user device; receiving an indication that one of the candidatestreaming media content devices is to be selected for connection to theuser device; transmitting instructions to the candidate streaming mediacontent devices to broadcast a signal, wherein the signal broadcast byeach of the candidate streaming media content devices contains a valuethat indicates an identity of the streaming media content device;receiving, from the user device, an audio signal that includes adetected signal; processing the audio signal to extract the valueindicating the identity of a particular streaming media content deviceassociated with the detected signal contained in the received audiosignal; identifying the particular streaming media content device basedon the determined value; and transmitting an indication that the userdevice and the particular streaming media content device areauthenticated to communicate with each other.
 2. The method of claim 1,wherein identifying the collection of candidate streaming media contentdevices comprises comparing identification numbers included in the oneor more beacons with a list that associates identification numbers withknown streaming media content devices.
 3. The method of claim 1, furthercomprising filtering the collection of candidate streaming media contentdevices based on applications supported by each of the collection ofcandidate streaming media content devices.
 4. The method of claim 1,further comprising filtering the collection of candidate streaming mediacontent devices based on applications that connect to particularstreaming media content sites.
 5. The method of claim 1, furthercomprising filtering the collection of candidate streaming media contentdevices based on applications that support mirroring of content betweenthe mobile device and the streaming media content device.
 6. The methodof claim 1, wherein the signal broadcast by each of the candidatestreaming media content devices is an audio signal.
 7. The method ofclaim 1, wherein identifying the particular streaming media contentdevice based on the determined value comprises identifying one or morefrequencies associated with a PIN embedded in the audio signal.
 8. Themethod of claim 1, further comprising: determining if the value wasextracted from the audio signal by the processing; and if the value wasnot extracted, receiving a manual entry of the value.
 9. A system forauthenticating a connection between a user device and a streaming mediacontent device, comprising: at least one hardware processor that:identifies a collection of candidate streaming media content devicesbased on one or more beacons detected by a user device; receives anindication that one of the candidate streaming media content devices isto be selected for connection to the user device; transmits instructionsto the candidate streaming media content devices to broadcast a signal,wherein the signal broadcast by each of the candidate streaming mediacontent devices contains a value that indicates an identity of thestreaming media content device; receives, from the user device, an audiosignal that includes a detected signal; processes the audio signal toextract the value indicating the identity of a particular streamingmedia content device associated with the detected signal contained inthe received audio signal; identifies the particular streaming mediacontent device based on the determined value; and transmits anindication that the user device and the particular streaming mediacontent device are authenticated to communicate with each other.
 10. Thesystem of claim 9, wherein the identifying the collection of candidatestreaming media content devices comprises comparing identificationnumbers included in the one or more beacons with a list that associatesidentification numbers with known streaming media content devices. 11.The system of claim 9, wherein the at least one hardware processes alsofilters the collection of candidate streaming media content devicesbased on applications supported by each of the collection of candidatestreaming media content devices.
 12. The system of claim 9, wherein theat least one hardware processes also filters the collection of candidatestreaming media content devices based on applications that connect toparticular streaming media content sites.
 13. The system of claim 9,wherein the at least one hardware processes also filters the collectionof candidate streaming media content devices based on applications thatsupport mirroring of content between the mobile device and the streamingmedia content device.
 14. The system of claim 9, wherein the signalbroadcast by each of the candidate streaming media content devices is anaudio signal.
 15. The system of claim 9, wherein identifying theparticular streaming media content device based on the determined valuecomprises identifying one or more frequencies associated with a PINembedded in the audio signal.
 16. The system of claim 9, wherein the atleast one hardware processes also: determines if the value was extractedfrom the audio signal by the processing; and if the value was notextracted, receives a manual entry of the value.
 17. A non-transitorycomputer-readable medium containing computer-executable instructionsthat, when executed by a processor, cause the processor to perform amethod of authenticating a connection between a user device and astreaming media content device, the method comprising: identifying acollection of candidate streaming media content devices based on one ormore beacons detected by a user device; receiving an indication that oneof the candidate streaming media content devices is to be selected forconnection to the user device; transmitting instructions to thecandidate streaming media content devices to broadcast a signal, whereinthe signal broadcast by each of the candidate streaming media contentdevices contains a value that indicates an identity of the streamingmedia content device; receiving, from the user device, an audio signalthat includes a detected signal; processing the audio signal to extractthe value indicating the identity of a particular streaming mediacontent device associated with the detected signal contained in thereceived audio signal; identifying the particular streaming mediacontent device based on the determined value; and transmitting anindication that the user device and the particular streaming mediacontent device are authenticated to communicate with each other.
 18. Thenon-transitory computer-readable medium of claim 17, wherein identifyingthe collection of candidate streaming media content devices comprisescomparing identification numbers included in the one or more beaconswith a list that associates identification numbers with known streamingmedia content devices.
 19. The non-transitory computer-readable mediumof claim 17, wherein the method further comprises filtering thecollection of candidate streaming media content devices based onapplications supported by each of the collection of candidate streamingmedia content devices.
 20. The non-transitory computer-readable mediumof claim 17, wherein the method further comprises filtering thecollection of candidate streaming media content devices based onapplications that connect to particular streaming media content sites.21. The non-transitory computer-readable medium of claim 17, wherein themethod further comprises filtering the collection of candidate streamingmedia content devices based on applications that support mirroring ofcontent between the mobile device and the streaming media contentdevice.
 22. The non-transitory computer-readable medium of claim 17,wherein the signal broadcast by each of the candidate streaming mediacontent devices is an audio signal.
 23. The non-transitorycomputer-readable medium of claim 17, wherein identifying the particularstreaming media content device based on the determined value comprisesidentifying one or more frequencies associated with a PIN embedded inthe audio signal.
 24. The non-transitory computer-readable medium ofclaim 17, wherein the method further comprises: determining if the valuewas extracted from the audio signal by the processing; and if the valuewas not extracted, receiving a manual entry of the value.